package org.iubbo.proxy.transformer;

import org.iubbo.proxy.model.dto.DubboRegisterConfigDTO;
import org.iubbo.proxy.model.po.RegisterConfigPO;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class RegisterConfigDTO2VOTransformer {

    /**
     * 对象转换
     * @param dubboRegisterConfigDTO
     * @return
     */
    public static RegisterConfigPO dtoToPO(DubboRegisterConfigDTO dubboRegisterConfigDTO){
        Date curDate = new Date();
        RegisterConfigPO registerConfigPO = new RegisterConfigPO();
        registerConfigPO.setHost(dubboRegisterConfigDTO.getHost());
        registerConfigPO.setIp(dubboRegisterConfigDTO.getIp());
        registerConfigPO.setType(dubboRegisterConfigDTO.getType());
        registerConfigPO.setCreateTime(curDate);
        registerConfigPO.setUpdateTime(curDate);

        return registerConfigPO;
    }

    /**
     *
     * @param registerConfigPO
     * @return
     */
    public static DubboRegisterConfigDTO poToDTO(RegisterConfigPO registerConfigPO){
        DubboRegisterConfigDTO dubboRegisterConfigDTO = new DubboRegisterConfigDTO();
        dubboRegisterConfigDTO.setHost(registerConfigPO.getHost());
        dubboRegisterConfigDTO.setIp(registerConfigPO.getIp());
        dubboRegisterConfigDTO.setType(registerConfigPO.getType());
        dubboRegisterConfigDTO.setCreateTime(registerConfigPO.getCreateTime());

        return dubboRegisterConfigDTO;
    }

    /**
     *
     * @param registerConfigPOList
     * @return
     */
    public static List<DubboRegisterConfigDTO> poToDTOList(List<RegisterConfigPO> registerConfigPOList){
        List<DubboRegisterConfigDTO> dubboRegisterConfigDTOList = new ArrayList<>();
        for(RegisterConfigPO registerConfigPO : registerConfigPOList){
            dubboRegisterConfigDTOList.add(poToDTO(registerConfigPO));
        }

        return dubboRegisterConfigDTOList;
    }
}
